function motion () {
	//Arduino
  const Xml =
//    '<category name="Arduino" id="Arduino" colour="#00979D" secondaryColour="#00979D">' +
//     '<block type="control_setup_loop" disabled="false">' +
//     '</block>' +
//   '<block type="inout_pinMode1" id="inout_pinMode1">'+
// '</block>'+
//   '<block type="digitalWrite" id="digitalWrite">'+
//   '</block>'+
//   '<block type="analogWrite" id="analogWrite">'+
//   '<value name="analogWrites">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">100</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="digitalRead" id="digitalRead">'+
//   '</block>'+
//   '<block type="analogRead" id="analogRead">'+
//   '</block>'+
//    '<block type="timer" id="timer">'+
//    '<value name="timers">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">500</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="timeron" id="timeron">'+
//   '</block>'+
//   '<block type="timeroff" id="timeroff">'+
//   '</block>'+
//     '<block type="runtime" id="runtime">'+
//   '</block>'+
//       '<block type="pininterrupt" id="pininterrupt">'+
//   '</block>'+
//       '<block type="pulse" id="pulse">'+
//   '</block>'+
//         '<block type="pulse2" id="pulse2">'+
// 		'<value name="pulse2s">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">1000000</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   // '<block type="changetype" id="changetype">'+
//   // '<value name="changetypes">' +
//   //   '<shadow type="math_number">' +
//   //     '<field name="NUM">123</field>' +
//   //   '</shadow>' +
//   // '</value>' +
//   // '</block>'+
//   //  '<block type="changetypes" id="changetypes">'+
//   // '<value name="changetypess">' +
//   //   '<shadow type="text">' +
//   //     '<field name="TEXT">hello</field>' +
//   //   '</shadow>' +
//   // '</value>' +
//   // '</block>'+
//   '</category>' +
//   //串口
//   '<category name="%{BKY_ARDUINO_SERIALS}" id="serial" colour="#FF4482" secondaryColour="#FF4482">' +
//   '<block type="serialbegin" id="serialbegin">'+
//   '<field name="serialbegins">9600</field>' +
//   '</block>'+
//   '<block type="serialprintstring" id="serialprintstring">'+
//   '<value name="serialprints1">' +
//     '<shadow type="text">' +
//       '<field name="TEXT">hello</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="serialprint" id="serialprint">'+
//   '<value name="serialprints">' +
//     '<shadow type="text">' +
//       '<field name="TEXT">hello</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="serialprintnum1" id="serialprintnum1">'+
//   '<value name="serialprintsss">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">0</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="serialprintnum" id="serialprintnum">'+
//   '<value name="serialprintss">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">0</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="serialprint16num" id="serialprint16num">'+
//   '<value name="serialprint16nums">' +
//     '<shadow type="math_number">' +
//       '<field name="NUM">0</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="serialava" id="serialava">'+
//   '</block>'+
//   '<block type="serialread" id="serialread">'+
//   '</block>'+
//   '<block type="softserial" id="softserial">'+
//   '</block>'+
//    '<block type="serial_event" id="serial_event">'+
//   '</block>'+
//    '<block type="serial_flush" id="serial_flush">'+
//   '</block>'+
//    '<block type="serial_read" id="serial_read">'+
//    '<value name="serialprints2">' +
//     '<shadow type="text">' +
//       '<field name="TEXT">a</field>' +
//     '</shadow>' +
//   '</value>' +
//   '</block>'+
//   '<block type="serialreadint" id="serialreadint">'+
//   '</block>'+
//   '</category>' +
//传感器
  '<category name="%{BKY_ARDUINO_SENSOR}" id="sensor" colour="#28BFE6" secondaryColour="#28BFE6">' +
  '<block type="ultrasonicinit" id="ultrasonicinit">'+
  '</block>'+
  '<block type="ultrasonicdistance" id="ultrasonicdistance">'+
  '</block>'+
  '<block type="initdht" id="initdht">'+
  '</block>'+
  '<block type="dht" id="dht">'+
  '</block>'+
  '<block type="irsend" id="irsend">'+
  '<value name="irdata">' +
    '<shadow type="text">' +
      '<field name="TEXT">0x89ABCDEF</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="irbyte">' +
    '<shadow type="text">' +
      '<field name="TEXT">32</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
    '<block type="initirreceive" id="initirreceive">'+
  '</block>'+
  '<block type="irreceive" id="irreceive">'+
  '</block>'+
  '<block type="irgetdate" id="irgetdate">'+
  '</block>'+
    '<block type="irgetnextdate" id="irgetnextdate">'+
  '</block>'+
  '<block type="initds1302" id="initds1302">'+
  '</block>'+
  '<block type="getds1302date" id="getds1302date">'+
  '</block>'+
  '<block type="setds1302time" id="setds1302time">'+
  '<value name="hour">' +
    '<shadow type="math_number">' +
      '<field name="NUM">8</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="minute">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="second">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="setds1302date" id="setds1302date">'+
  '<value name="year">' +
    '<shadow type="math_number">' +
      '<field name="NUM">2019</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="month">' +
    '<shadow type="math_number">' +
      '<field name="NUM">8</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="day">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="initds3231" id="initds3231">'+
  '</block>'+
  '<block type="getds3231date" id="getds3231date">'+
  '</block>'+
  '<block type="setds3231time" id="setds3231time">'+
  '<value name="hour2">' +
    '<shadow type="math_number">' +
      '<field name="NUM">4</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="minute2">' +
    '<shadow type="math_number">' +
      '<field name="NUM">23</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="second2">' +
    '<shadow type="math_number">' +
      '<field name="NUM">5</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="setds3231date" id="setds3231date">'+
  '<value name="year2">' +
    '<shadow type="math_number">' +
      '<field name="NUM">2019</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="month2">' +
    '<shadow type="math_number">' +
      '<field name="NUM">12</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="day2">' +
    '<shadow type="math_number">' +
      '<field name="NUM">12</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="lm35init" id="lm35init">'+
  '</block>'+
  '<block type="lm35gettemp" id="lm35gettemp">'+
  '</block>'+
  '<block type="ds18b20init" id="ds18b20init">'+
  '</block>'+
  '<block type="ds18b20gettemp" id="ds18b20gettemp">'+
  '</block>'+
  '<block type="weightinit" id="weightinit">'+
  '</block>'+
  '<block type="weightfresh" id="weightfresh">'+
  '</block>'+
  '<block type="weightgeta" id="weightgeta">'+
  '</block>'+
    '<block type="weightgetd" id="weightgetd">'+
  '</block>'+
    '<block type="initrgbultrasonic" id="initrgbultrasonic">'+
  '</block>'+
        '<block type="rgbultrasonicsetcolorstyle" id="rgbultrasonicsetcolorstyle">'+
  '</block>'+
         '<block type="rgbultrasonicreaddistance" id="rgbultrasonicreaddistance">'+
  '</block>'+
  '<block type="sqaurekeyinit" id="sqaurekeyinit">'+
'</block>'+
'<block type="sqaurekeygetkey" id="sqaurekeygetkey">'+
'</block>'+
'<block type="sqaurekeyisgetkey" id="sqaurekeyisgetkey">'+
'</block>'+
'<block type="rfidinit" id="rfidinit">'+
'</block>'+
'<block type="rfidiscard" id="rfidiscard">'+
'</block>'+
'<block type="rfidreadcard" id="rfidreadcard">'+
'</block>'+
'<block type="hx711init" id="hx711init">'+
'</block>'+
'<block type="hx711getweight" id="hx711getweight">'+
'</block>'+
  '</category>' +
//执行器
  '<category name="%{BKY_ARDUINO_ACTION}" id="actuator" colour="#FF0000" secondaryColour="#FF0000">' +
  '<block type="initservo" id="initservo">'+
  '</block>'+
  '<block type="servo" id="servo">'+
  '<value name="servoangle">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="initstepper" id="initstepper">'+
  '<value name="eachroundsteps">' +
    '<shadow type="math_number">' +
      '<field name="NUM">100</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="stepperspeed">' +
    '<shadow type="math_number">' +
      '<field name="NUM">10</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="steppermove" id="steppermove">'+
  '<value name="steppermoves">' +
    '<shadow type="math_number">' +
      '<field name="NUM">10</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="dcmotor" id="dcmotor">'+
  '<value name="dcmotors">' +
    '<shadow type="math_number">' +
      '<field name="NUM">100</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="dcmotor2" id="dcmotor2">'+
  '<value name="dcmotors2">' +
    '<shadow type="math_number">' +
      '<field name="NUM">100</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="buzzerinit" id="buzzerinit">'+
  '</block>'+
  '<block type="buzzerplay" id="buzzerplay">'+
  '<value name="hz">' +
    '<shadow type="math_number">' +
      '<field name="NUM">300</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="delays">' +
    '<shadow type="math_number">' +
      '<field name="NUM">500</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="buzzerplay2" id="buzzerplay2">'+
  '</block>'+
  '<block type="kw_initir" id="kw_initir">'+
  '<value name="initir">' +
    '<shadow type="math_number">' +
      '<field name="NUM">11</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="kw_irKeyPress" id="kw_irKeyPress">'+
  '</block>'+
  '<block type="kw_irKeyPress2" id="kw_irKeyPress2">'+
  '</block>'+
  '<block type="EXT_TWO_WAY_MOTOR_BLOCK_1607594494605" id="EXT_TWO_WAY_MOTOR_BLOCK_1607594494605">'+

                            '<value name="speed1">'+
                                '<shadow type="math_number">'+
                                    '<field name="NUM">0</field>'+
                                '</shadow>'+
                            '</value>'+

                            '<value name="speed2">'+
                                '<shadow type="math_number">'+
                                    '<field name="NUM">0</field>'+
                                '</shadow>'+
                            '</value>'+

'</block>'+
                    '<block type="EXT_TWO_WAY_MOTOR_BLOCK_STOP_1607594494606" id="EXT_TWO_WAY_MOTOR_BLOCK_STOP_1607594494606">'+
                    '</block>'+
  '</category>' +
//显示
  '<category name="%{BKY_ARDUINO_SHOW}" id="display" colour="#f59057" secondaryColour="#f59057">' +
  '<block type="lcdinit" id="lcdinit">'+
  '<value name="lcdinits">' +
    '<shadow type="text">' +
      '<field name="TEXT">0x27</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="lcdposition" id="lcdposition">'+
  '<value name="col">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="row">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="lcdprint" id="lcdprint">'+
  '<value name="lcdprints">' +
    '<shadow type="text">' +
      '<field name="TEXT">hello</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="lcdclear" id="lcdclear">'+
  '</block>'+
  '<block type="inittm1637" id="inittm1637">'+
  '</block>'+
  '<block type="tm1637setlight" id="tm1637setlight">'+
  '<value name="tm1637setlights">' +
    '<shadow type="math_number">' +
      '<field name="NUM">20</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="tm1637print" id="tm1637print">'+
  '<value name="tm1637prints">' +
    '<shadow type="text">' +
      '<field name="TEXT">1234</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="tm1637clear" id="tm1637clear">'+
  '</block>'+
  '<block type="initmax7219init" id="initmax7219init">'+
  '<value name="Horizontalcount">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  /*'<value name="verticalcount">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +*/
  '</block>'+
  /*'<block type="Matrix_img" id="Matrix_img">'+
  '</block>'+*/
  '<block type="MAX7219_DisplayChar" id="MAX7219_DisplayChar">'+
  '</block>'+
  '<block type="max7219singlepoint" id="max7219singlepoint">'+
  '<value name="Xaxis">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '<value name="Yaxis">' +
    '<shadow type="math_number">' +
      '<field name="NUM">0</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="rgbinit" id="rgbinit">'+
  '<value name="pixel">' +
    '<shadow type="math_number">' +
      '<field name="NUM">16</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="rgbdisplay" id="rgbdisplay">'+
  '<value name="pixel">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
     '<block type="_7led" id="_7led">'+
  '</block>'+
   '<block type="_7ledon" id="_7ledon">'+
  '</block>'+
     '<block type="_7duanshumaguaninit" id="_7duanshumaguaninit">'+
  '</block>'+
   '<block type="_7duanshumaguandisplay" id="_7duanshumaguandisplay">'+
   '<value name="_7duanshumaguandisplays">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="_4x7duanshumaguaninit" id="_4x7duanshumaguaninit">'+
  '</block>'+
    '<block type="_4x7duanshumaguandisplay" id="_4x7duanshumaguandisplay">'+
   '<value name="_4x7duanshumaguandisplays">' +
    '<shadow type="math_number">' +
      '<field name="NUM">1234</field>' +
    '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="x8ledinit" id="x8ledinit">'+
  '</block>'+
  '<block type="x8leddisplay" id="x8leddisplay">'+
  '</block>'+
  '<block type="x8ledloopscan" id="x8ledloopscan">'+
  '</block>'+
  '<block type="_74hinit" id="_74hinit">'+
  '</block>'+
  '<block type="_74hinitisplay" id="_74hinitisplay">'+
  '<value name="_74hinitisplays">' +
  '<shadow type="math_number">' +
    '<field name="NUM">60</field>' +
  '</shadow>' +
  '</value>' +
  '</block>'+
  '<block type="_74hoff" id="_74hoff">'+
  '</block>'+
  '<block type="getnowtime" id="getnowtime">'+
  '</block>'+
  // '<block type="test11111" id="test11111">'+
  // '</block>'+





  '<block type="stringtoint" id="stringtoint">'+
 '<value name="stringtoints">' +
  '<shadow type="math_number">' +
    '<field name="NUM">1234</field>' +
  '</shadow>' +
'</value>' +
'</block>'+
  //     '<block type="dowhile" id="dowhile">'+
  //  '<value name="dowhiles">' +
  //   '<shadow type="text">' +
  //     '<field name="TEXT">true</field>' +
  //   '</shadow>' +
  // '</value>' +
  // '</block>'+
  `</category>
 
  `;

    const categoriesXML = `
            ${Xml}
        `;
    return categoriesXML;
};

module.exports = motion() ;
